#处理json文件生成，每条数据生成字段“父级分类名称”“分类名称”
import json
import os
from pathlib import Path
def process_json_file(input_path, output_dir):
    """
    处理单个JSON文件
    :param input_path: 输入文件路径
    :param output_dir: 输出目录
    """
    with open(input_path, 'r', encoding='utf-8') as f:
        data = json.load(f)
    
    parent_category = data.get("父级分类名称", "")
    category = data.get("分类名称", "")
    
    processed_data = []
    for item in data.get("list", []):
        new_item = item.copy()
        new_item["父级分类名称"] = parent_category
        new_item["分类名称"] = category
        processed_data.append(new_item)
    
    # 创建输出文件名（保持原文件名，添加前缀）
    output_filename = f"processed_{Path(input_path).name}"
    output_path = os.path.join(output_dir, output_filename)
    
    with open(output_path, 'w', encoding='utf-8') as f:
        json.dump(processed_data, f, ensure_ascii=False, indent=2)

def process_all_json_files(input_dir, output_dir):
    """
    处理目录中的所有JSON文件
    :param input_dir: 输入目录
    :param output_dir: 输出目录
    """
    # 确保输出目录存在
    os.makedirs(output_dir, exist_ok=True)
    
    # 遍历输入目录中的所有JSON文件
    processed_count = 0
    for filename in os.listdir(input_dir):
        if filename.endswith('.json'):
            input_path = os.path.join(input_dir, filename)
            try:
                process_json_file(input_path, output_dir)
                processed_count += 1
                print(f"成功处理: {filename}")
            except Exception as e:
                print(f"处理 {filename} 时出错: {str(e)}")
    
    print(f"\n处理完成！共处理了 {processed_count} 个JSON文件，结果保存在 {output_dir} 目录中")

if __name__ == "__main__":
    # 配置输入输出目录
    input_directory = "jsons_GZ"  # 存放原始JSON文件的目录
    output_directory = "jsons_GZ_new"  # 处理后的文件输出目录
    
    # 处理所有文件
    process_all_json_files(input_directory, output_directory)